package 力扣._00周赛._425_周赛.问题2;

import java.util.HashMap;
import java.util.Map;

class Solution {
    public boolean isPossibleToRearrange(String s, String t, int k) {
        // 将s等分成k份，然后从t的0位置开始，每次取出一份s，然后从t的0位置开始匹配，如果匹配成功则继续，否则返回false
        int len = s.length();
        int subLen = len / k;
        Map<String,Integer> map = new HashMap<>();
        for(int i = 0; i < len; i+=subLen) {
            String key = s.substring(i,i+subLen);
            map.put(key, map.getOrDefault(key, 0) + 1);
        }
        for(int i = 0; i < len; i+=subLen) {
            String key = t.substring(i,i+subLen);
            if(map.containsKey(key)) {
                map.put(key, map.get(key) - 1);
                if(map.get(key) == 0)
                    map.remove(key);
            }
            else {
                return false;
            }
        }
        return true;

    }
}